package com.huawei.cloud.phone.management.application.connection;

import com.huawei.cloud.phone.management.application.connection.dto.ConnectionDTO;
import com.huawei.cloud.phone.management.application.connection.dto.EventInfoDTO;
import org.springframework.lang.NonNull;

public interface ConnectionService {
    /**
     * 通过用手手机ID获取一个可用连接
     *
     * @param userId      用户ID
     * @param userPhoneId 用户手机ID
     * @param clientType  客户端类型
     * @return 可用连接
     */
    ConnectionDTO getConnection(@NonNull String userId, @NonNull String userPhoneId, @NonNull ConnectionDTO.ClientType clientType);

    /**
     * 处理云手机上报的事件
     *
     * @param eventInfoDTO 事件信息
     */
    void reportEvent(@NonNull EventInfoDTO eventInfoDTO);

    /**
     * 处理云手机心跳事件
     *
     * @param eventInfoDTO 心跳事件
     */
    void heartbeat(@NonNull EventInfoDTO eventInfoDTO);
}
